Distribution of Offered Digital Zoom Levels and Gradual Zoom in Digital Photography

ABSTRACT

Offered digital zoom levels may be distributed at equal spacing of zoom factors. Offered digital zoom levels may be distributed among optically uniform digital zoom levels. Gradual zoom may be achieved by generating preview images at one or more intermediate digital zoom levels at which generation of a recordable image is not permitted. One or more intermediate digital zoom levels may be distributed generally evenly between two adjacent offered digital zoom levels. An image sensor supports a discrete set of zoom factors. One or more intermediate zoom factors may be distributed generally evenly between zoom factors that correspond to two adjacent offered digital zoom levels.

TECHNICAL FIELD

This disclosure is generally related to the technical field of digitalzoom. A host device in which digital camera functionality is integratedmay be a standalone digital camera or may have additional functionality.A mobile electronic device with digital camera functionality is anexample of a host device.

BACKGROUND

A host device in which digital camera functionality is integratedincludes an arrangement of one or more optical elements and imagesensor. Optical zoom capabilities are available if a focal length of thearrangement of optical elements can be changed, usually throughmechanical means. Digital zoom capabilities are implementedelectronically and are available without the need for a change in thefocal length of the arrangement of one or more optical elements.

The term “pixel”, short for “picture element”, is used herein withdifferent meanings, depending on the context: an image sensor, a displaymodule, or a digital representation of an image. In the context of adigital representation of an image, a pixel is the smallest element ofthe digital representation of the image.

An image sensor will include a pixel array comprising photosensitivematerial. The pixel array is an array of very fine electronic pixelsarranged in horizontal rows and vertical columns. Such an image sensor,for example, a charge coupled device (CCD) or complementary metal oxidesemiconductor (CMOS) image sensor, is capable of receiving and capturingradiant energy, and converting the radiant energy into electronicsignals that become a virtual representation of an optical image. Whendigital camera functionality is described as a two-megapixel,three-megapixel or five-megapixel, this is an approximate description ofthe number of pixels in the image sensor's pixel array. As used herein,the term captured image refers to the image read from the pixel array,discounting any margin or border pixels. For example, a two-megapixeldigital camera may produce a captured image of 1600 by 1200 pixels.

A host device in which digital camera functionality is integratedtypically includes a display module to display a preview image that isderived from the captured image. Looking at the preview image may assista user of the host device in taking a photograph using the digitalcamera functionality, since the preview image provides the user withvisual feedback as to what the digital camera “sees”. The display moduleincludes a pixel array, which is an array of pixels arranged inhorizontal rows and vertical columns. Depending on the technology forthe pixel array, the pixels may comprise photo-emitting material, or mayby controllable, as in liquid crystal display (LCD) technology, to blocklight or permit the transmission of light in varying degrees. Othertechnologies for pixel arrays in display modules are known in the art.The number of pixels in a pixel array of the display module is typicallysmaller than the number of pixels in the captured image. For example, adisplay may have 320 by 240 pixels.

Digital zoom is accomplished by cropping an image to retain a centerpart of the image with the same aspect ratio as the original and todiscard the rest of the image. The retained portion is referred toherein as the cropped image, including cases where the entire image isretained. At a digital zoom level of 1×, no cropping is performed andthe entire image is retained. The cropped image is therefore identicalto the image before cropping. At a digital zoom level of 2×, about onequarter of the image is retained. At a digital zoom level of 3×, aboutone ninth of the image is retained.

A host device in which digital camera functionality is integrated may bedesigned to offer two or more digital zoom levels. The host device willbe designed so that input provided via at least one of its user inputcomponents results in a change in the digital zoom from one offereddigital zoom level to another offered digital zoom level. The croppedimage and hence the preview image will change as the digital zoomchanges from one offered digital zoom level to another offered digitalzoom level. A user may perceive abruptness in the preview image as thedigital zoom changes from one offered digital zoom level to another.

In practice, images include noise resulting from a variety of sources.Noise in an image may appear, for example, as a speckle or a pixel in acolor or shade of gray unrelated to that of its neighboring pixels. Thepreview image is refreshed at a refresh rate, which may be fixed orvariable. For example, the refresh rate may be set to 15 times persecond in bright lighting conditions and to 8 times per second in dimlighting conditions. Noise in the preview image may therefore beparticularly noticeable by a user, since the noise will differ from onepreview image to another, even when the preview images are all at thesame offered digital zoom level.

BRIEF DESCRIPTION OF THE DRAWINGS

The technology described herein is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereference numerals indicate corresponding, analogous or similarelements, and in which:

FIG. 1-1 is a front view of an example standalone digital camera;

FIG. 1-2 is a rear view of the example standalone digital cameraillustrated in FIG. 1-1;

FIG. 2-1 is a front view of an example mobile electronic device in whichdigital camera functionality is integrated;

FIG. 2-2 is a rear view of the example mobile electronic deviceillustrated in FIG. 2-1;

FIG. 3-1 is an illustration of an example captured image, obtained whenexample digital camera functionality is operated at digital zoom level1×;

FIG. 3-2 is an illustration of an example preview image that is ascaled-down version of the captured image illustrated in FIG. 3-1;

FIG. 4-1 is an illustration of an example cropped image, obtained whenthe example digital camera functionality is operated at digital zoomlevel 2×;

FIG. 4-2 is an illustration of an example preview image that is ascaled-down version of the cropped image illustrated in FIG. 4-1;

FIG. 5-1 is an illustration of an example cropped image, obtained whenthe example digital camera functionality is operated at digital zoomlevel 3×;

FIG. 5-2 is an illustration of an example preview image that is ascaled-down version of the cropped image illustrated in FIG. 5-1;

FIG. 6 is a flowchart illustration of a simplified example method forgradual digital zoom implemented in an example host device;

FIG. 7 is a flowchart illustration of a simplified example method forgradual digital zoom implemented in an example image sensor thatincludes processing capabilities;

FIG. 8-1 is an illustration of a sequence of example preview images thatare scaled-down versions of example cropped images obtained when exampledigital camera functionality is operated at digital zoom levels 1×,1.25×, 1.5×, 1.75× and 2×;

FIG. 8-2 is an illustration of a sequence of example preview images thatare scaled-down versions of example cropped images obtained when theexample digital camera functionality is operated at digital zoom levels1× and 2×;

FIG. 9 is a flowchart illustration of a simplified example method forback-end loaded gradual digital zoom with adjusted sharpness values;

FIG. 10 is a simplified block diagram illustration of an example hostdevice in which digital camera functionality is integrated;

FIG. 11 is a simplified block diagram illustration of an examplesystem-on-chip image sensor;

FIG. 12 is a simplified block diagram illustration of an example digitalcamera module; and

FIG. 13 is a simplified block diagram illustration of an example displaymodule.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn to scale.For example, the dimensions of some of the elements may be exaggeratedrelative to other elements for clarity.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the technology.For example, numerical values in the tables provided below are given forpurposes of illustration. However it will be understood by those ofordinary skill in the art that the technology described herein may bepracticed without these specific details. In other instances, well-knownmethods, procedures, components and circuits have not been described indetail so as not to obscure the description of the technology.

FIG. 1-1 is a front view of an example standalone digital camera,generally referenced 100, and FIG. 1-2 is a rear view of standalonedigital camera 100. A lens 102 of standalone digital camera 100 is shownin FIG. 1-1. A display module 104 is shown in FIG. 1-2. When standalonedigital camera 100 is operated, light focused by lens 102 results in thecapture of an image by the image sensor (not shown) of standalonedigital camera 100, and a preview image derived from the captured imageis displayed by display module 104.

FIG. 2-1 is a front view of an example mobile electronic device in whichdigital camera functionality is integrated. The example mobileelectronic device is generally referenced 200. A display module 204 isshown in FIG. 2-1. Various user input components of mobile electronicdevice 200 are shown in FIG. 2-1, including, for example, a keyboard206, a trackball 208, buttons 210 and a microphone 212. If displaymodule 204 comprises a touchscreen then display module 204 is also auser input component. Other user input components are also contemplated.Various user output components of mobile electronic device 200 are shownin FIG. 2-1, including, for example, a speaker 214 and display module204. Other user output components are also contemplated. FIG. 2-2 is arear view of mobile electronic device 200. A flash 216 and a lens 218are shown in FIG. 2-2. When the digital camera functionality isoperated, light focused by lens 218 results in the capture of an imageby the image sensor (not shown), and a preview image related to thecaptured image is displayed by display module 204.

Since the preview image is not necessarily identical to the croppedimage, two images are produced. The image sensor may generate both thecropped image and the preview image, in which case the image sensor iscapable of implementing a scaling algorithm. Alternately, the imagesensor may generate the cropped image, and the host device may generatethe preview image from the cropped image by implementing a scalingalgorithm. The image sensor may be configurable by the host device as towhether or not the image sensor generates the preview image. In someimplementations, the cropped image is generated by the host device fromoutput of the image sensor. The dimensions of the preview image arereferred to herein as the display dimensions.

FIG. 3-1 is an illustration of an example captured image, obtained whenexample digital camera functionality is operated at digital zoom level1×. FIG. 3-2 is an illustration of an example preview image that is ascaled-down version of the captured image illustrated in FIG. 3-1.

FIG. 4-1 is an illustration of an example cropped image, obtained whenthe example digital camera functionality is operated at digital zoomlevel 2×. The cropped image illustrated in FIG. 4-1 is generated byretaining a center part of the captured image illustrated in FIG. 3-1and discarding the rest of the captured image. FIG. 4-2 is anillustration of an example preview image that is a scaled-down versionof the cropped image illustrated in FIG. 4-1.

FIG. 5-1 is an illustration of an example cropped image, obtained whenthe example digital camera functionality is operated at digital zoomlevel 3×. The cropped image illustrated in FIG. 5-1 is generated byretaining a center part of the captured image illustrated in FIG. 3-1and discarding the rest of the captured image. FIG. 5-2 is anillustration of an example preview image that is a scaled-down versionof the cropped image illustrated in FIG. 5-1.

Some examples of digital zoom levels and dimensions of cropped imagescorresponding to those digital zoom levels for a captured image of 1600by 1200 pixels are listed in Table 1 below.

TABLE 1 Dimensions of Digital Cropped Image Zoom Level Width Height 1x1600 1200 2x 800 600 3x 533 400 4x 400 300 5x 320 240

A variety of techniques for handling changes in digital zoom areproposed herein, to be used alone or in any combination. Thesetechniques, when used alone or in any combination, may improve a user'sexperience of digital zoom as perceived when viewing the preview imagesdisplayed by a display module. Some of these techniques may beimplemented in a way that affects only the preview images. Others ofthese techniques may be implemented in a way that affects both thepreview images and recordable images that are able to be recorded in astorage medium.

Technique 1: Number of Offered Digital Zoom Levels

Although the image sensor is able to support a smallest non-zero croppedimage, the host device may be designed to limit offered digital zoomlevels to no larger than a maximum offered digital zoom level. If themaximum digital zoom level offered is the ratio of the dimensions of thecaptured image to the dimensions of a preview image when the displaymodule is in full-screen mode, then when the host device is operated atthat maximum offered digital zoom level, the cropped image will beexactly the same size as the preview image when the display module is infull-screen mode. For example, if the captured image is 1600 by 1200pixels and the preview image in full-screen mode is 320 by 240 pixels,the maximum offered digital zoom level as defined above is 5×. At lowerdigital zoom levels, the cropped image is larger than the preview imagewhen the display module is in full-screen mode, and therefore thepreview image will be a scaled-down version of the cropped image.Scaling algorithms are known in the art.

For a given minimum offered digital zoom level (usually 1×) and a givenmaximum offered digital zoom level, the number N of offered digital zoomlevels is a matter for design. In an implementation where input via auser input component of the host device is required to transition fromone offered digital zoom level to an adjacent offered digital zoomlevel, then input is required N−1 times to change from the minimumoffered digital zoom level to the maximum offered digital zoom level orvice versa through all intervening offered digital zoom levels. If toomany digital zoom levels are offered, a user of the host device mayexperience frustration at the time and effort involved in changing fromthe minimum offered digital zoom level to the maximum offered digitalzoom level or vice versa through all intervening offered digital zoomlevels. On the other hand, if too few digital zoom levels are offered,the user may perceive an undesirable abruptness in the preview image asthe digital zoom changes from one offered digital zoom level to another,even if the change is to an adjacent offered digital zoom level. A totalof anywhere from four to seven offered digital zoom levels, for example,five or six offered digital zoom levels, may provide a reasonablebalance between the competing considerations of improving the smoothnessof transitions among offered digital zoom levels and reducing the timeand effort required to transition from the minimum offered digital zoomlevel to the maximum offered digital zoom level or vice versa throughall intervening offered digital zoom levels.

The term “adjacent” in the context of offered digital zoom levels isused herein to mean an offered digital zoom level that is immediatelypreceding or following another offered digital zoom level in an orderedlist of all offered digital zoom levels. For example, if the orderedlist of offered digital zoom levels is {1×, 1.4×, 1.8×, 2.2×, 2.6×, 3×},then digital zoom level 1.8× is adjacent to digital zoom level 1.4× andto digital zoom level 2.2×. In another example, if the ordered list ofoffered digital zoom levels is {1×, 2×, 3×, 4×, 5×}, then digital zoomlevel 1× is adjacent to digital zoom level 2×, digital zoom level 3× isadjacent to digital zoom level 2× and to digital zoom level 4×, anddigital zoom level 5× is adjacent to digital zoom level 4×.

Digital Zoom Limited by Cropping Capabilities of Image Sensor

A host device in which digital camera functionality is integrated mayuse its host processor to handle the cropping of the captured image toimplement digital zooming In such cases, the output of the image sensoris the captured image or an uncropped processed version of the capturedimage, and any cropped image dimensions smaller than the dimensions ofthe captured image are achievable by the host device.

However, if cropping to implement digital zooming is performed in theimage sensor, then digital zooming is limited by the croppingcapabilities of the image sensor. An image sensor may support a discreteset of zoom factors, each supported zoom factor corresponding todimensions of a cropped image generated by the image sensor when theimage sensor is configured for that supported zoom factor, such that anyother dimensions of cropped images are unachievable by the image sensor.Furthermore, the relationship between the dimensions of a cropped imageat any supported zoom factor to the dimensions of the captured image maybe complex and will likely be specific to the image sensor. The set ofsupported zoom factors and corresponding dimensions of cropped imagesmay be fixed. Alternately, one or more programmable parameters of theimage sensor may affect the set of supported zoom factors or thecorresponding dimensions of cropped images or both. The host device mayprogram the one or more programmable parameters.

Some examples of zoom factors supported by an example image sensorcapable of producing a captured image of 1600 by 1200 pixels anddimensions of cropped images corresponding to those supported zoomfactors are listed in Table 2 below. These examples were selected ashaving cropped image dimensions closest to the cropped image dimensionsin Table 1.

TABLE 2 Dimensions of Digital Zoom Cropped Image Label Zoom Level FactorWidth Height 1x 1.00x 1.00 1600 1200 2x 1.99x 3.45 804 602 3x 3.02x 4.30530 396 4x 3.99x 4.70 402 300 5x 5.00x 5.00 320 240

Table 2 also includes digital zoom levels calculated according to thefollowing equation and rounded to two decimal places:

ZoomLevel=Sqrt(AreaOfCapturedImage/AreaOfCroppedImage)

The host device may assign a label to each offered digital zoom level.Examples of such labels are included in the left-most column of Table 2above. However, persons of ordinary skill in the art will recognize thatthe label “3×” in Table 2 corresponds to a digital zoom level of 3.02×,and not to a digital zoom level of 3×.

A cropped image of 804 by 602 pixels, which corresponds to digital zoomlevel 1.99×, is supported in the example image sensor with a zoom factorof 3.45. Similarly, a cropped image of 402 by 300 pixels, whichcorresponds to digital zoom level 3.99×, is supported in the exampleimage sensor with a zoom factor of 4.75. The difference in numericalvalues for digital zoom levels and zoom factors, even when thedimensions of the cropped image resulting therefrom are almostidentical, is due to the fact that the relationship between dimensionsof a captured image, a digital zoom level, and dimensions of a croppedimage corresponding to that digital zoom level is different from therelationship between dimensions of a captured image, a supported zoomfactor, and dimensions of a cropped image corresponding to thatsupported zoom factor.

Furthermore, since the supported zoom factors form a discrete set, notall dimensions of cropped images are achievable by the image sensor. Theexample image sensor of Table 2 cannot achieve a cropped image of 533 by400 pixels (corresponding to a digital zoom level of 3×). The closestdimensions to 533 by 400 pixels that the image sensor in this examplecan achieve are 530 by 396 pixels, which correspond to digital zoomlevel of 3.02× and a supported zoom factor of 4.30.

The cropped image illustrated in FIG. 4-1 and the corresponding previewimage illustrated in FIG. 4-2 may be generated by having the imagesensor of this example use a zoom factor of 3.45. The cropped imageillustrated in FIG. 5-1 and the corresponding preview image illustratedin FIG. 5-2 may be generated by having the image sensor of this exampleuse a zoom factor of 4.30.

The host device may use zoom translation information to translatebetween an indication of one of its offered digital zoom levels and azoom factor supported by its image sensor. To continue the example ofTable 2, a zoom translation table comprising the left-most and middlecolumns of Table 2 may be used. The zoom translation table is repeatedbelow as Table 3.

TABLE 3 Label Zoom Factor 1x 1.00 2x 3.45 3x 4.30 4x 4.70 5x 5.00

Persons of ordinary skill in the art will recognize that the zoomtranslation information may be stored in any suitable format and notnecessarily in tabular format. Further the indication of the offeredzoom level corresponding to a particular supported zoom factor may beimplicit from the format in which the supported zoom factors (orindications thereof) are stored.

Consider the example where the digital zoom is currently at the offereddigital zoom level to which label “2×” is assigned, and input detectedby the host device from its user input component is indicative of theoffered digital zoom level to which the label “3×” is assigned. The hostdevice controls the image sensor via the commands of the image sensor toadjust the image sensor from zoom factor 3.45 to zoom factor 4.30. Ifthe zoom factors in the set supported by the image sensor are inincremental steps of 0.05, then 17 steps are needed to get from zoomfactor 3.45 to zoom factor 4.30. For example, if the image sensor has aconfigurable parameter ZoomJumpSize, a command ZoomJumpIn that increasesthe zoom factor by ZoomJumpSize, and a command ZoomJumpOut thatdecreases the zoom factor by ZoomJumpSize, then the host device mayconfigure ZoomJumpSize to a value that corresponds to 17 steps and issuethe ZoomJumpIn command to the image sensor.

Technique 2: Gradual Digital Zoom

As mentioned above, a host device in which digital camera functionalityis integrated and that offers two or more digital zoom levels isdesigned so that input provided via at least one of its user inputcomponents results in a change from one offered digital zoom level toanother offered digital zoom level. The cropped image and hence thepreview image will change as the digital zoom changes from one offereddigital zoom level to another offered digital zoom level.

With gradual digital zoom, a change from a start offered digital zoomlevel to an end offered digital zoom level adjacent to the start offereddigital zoom level, is accomplished via one or more intermediate zoomlevels between the start offered digital zoom level and the end offereddigital zoom level. These intermediate digital zoom levels are notoffered digital zoom levels offered by a host device and generation ofrecordable images at these intermediate digital zoom levels is notpermitted by the host device. However, preview images at theseintermediate digital zoom levels are generated and available to bedisplayed by the display module.

FIG. 6 is a flowchart illustration of a simplified example method forgradual digital zoom implemented in an example host device. For thepurpose of this illustration, the intermediate digital zoom levels areindexed according to their proximity to the start offered digital zoomlevel, regardless of whether the start offered digital zoom level ishigher or lower than the end offered digital zoom level. At 602, thehost device sets a counter to 1. At 604, the host device sets a zoomlevel parameter to the intermediate digital zoom level indexed by thecounter. At 606, the host device generates a preview image from acropped image, where the dimensions of the cropped image correspond tothe value of the zoom level parameter. At 608, the host device controlsa display module to display the preview image generated at 606. At 610,the host device checks whether the value of the counter is equal to apositive integer T, which is the number of intermediate digital zoomlevels between the start digital zoom level and the end offered digitalzoom level. If not, then at 612, the host device increments the counterby 1 and continues the method from 604. In this manner, the host deviceiterates through all of the T intermediate digital zoom levels. If thevalue of the counter is equal to T, then at 614, the host device setsthe zoom level parameter to the end offered digital zoom level, at 616,the host device generates a preview image from a cropped image, wherethe dimensions of the cropped image correspond to the end offereddigital zoom level, and at 618, the host device controls a displaymodule to display the preview image generated at 616.

A host device may implement gradual digital zoom by controlling theimage sensor to change from a start zoom factor, which corresponds tothe start offered digital zoom level, to an end zoom factor, whichcorresponds to the end offered digital zoom level, via one or moreintermediate zoom factors between the start zoom factor and the end zoomfactor. Each of these intermediate zoom factors corresponds to arespective one of the intermediate digital zoom levels.

If the image sensor includes processing capabilities, for example, theimage sensor is a system-on-chip (SOC) image sensor, then it may besufficient for the host device to provide the image sensor with anindication of the end zoom factor, and the image sensor may use itsprocessing capabilities to implement gradual digital zoom internally bychanging from the start zoom factor to the first intermediate zoomfactor, followed by a change from the first intermediate zoom factor tothe next intermediate zoom factor, if any, and so on, followed by achange from the last intermediate zoom factor to the end zoom factor. Ateach intermediate zoom factor and at the end zoom factor, the imagesensor may generate cropped images dimensions of which correspond to thezoom factor. The image sensor may be configurable by the host device asto whether or not the image sensor implements gradual digital zoominternally.

FIG. 7 is a flowchart illustration of a simplified example method forgradual digital zoom implemented in an example image sensor thatincludes processing capabilities. At 702, the image sensor receives anindication of a requested zoom factor, for example, by having theindication written to a control register of the image sensor. At 704,the image sensor checks whether the requested zoom factor is equal to acurrent zoom factor effected in the image sensor. If so, then the methodends. If not, then at 706, the image sensor determines a positiveinteger T of intermediate zoom factors between the current zoom factorand the requested zoom factor. The intermediate zoom factors are indexed1 through T, with the lowest intermediate zoom factor indexed 1, and thehighest intermediate zoom factor indexed T. At 708, the image sensorchecks whether the requested zoom factor is larger than the current zoomfactor. If so, then at 710, the image sensor determines that the zoom isa zoom in and sets the counter to 1. If not, then at 712, the imagesensor determines that the zoom is a zoom out and sets the counter to T.From 710 or 712, the method proceeds to 714, where the image sensor setsa zoom factor parameter to the intermediate zoom factor indexed by thecounter. At 716, the image sensor generates a cropped image, where thedimensions of the cropped image correspond to the value of the zoomfactor parameter. At 718, the image sensor checks whether the value ofthe counter is equal to T (for zoom in) or 1 (for zoom out). If not,then at 720, the image sensor increments the counter by 1 for zoom in ordecrements the counter by 1 for zoom out, and the method resumes from714. If so, then at 722, the image sensor generates a cropped image,where the dimensions of the cropped image correspond to the requestedzoom factor, at 724, the image sensor sets the current zoom factor tothe requested zoom factor, and the method ends.

Let X−1 represent the number of supported zoom factors between the startzoom factor and the end zoom factor. Then X steps are needed to get fromthe start zoom factor to the end zoom factor, where each step is from azoom factor in the discrete set supported by the image sensor to itsnext zoom factor in the discrete set. If the supported zoom factors arein fixed increments of size increment, thenX=|(EndZoomFactor−StartZoomFactor)|/increment.

Let T, a positive integer, represent the number of intermediate zoomfactors between the start zoom factor and the end zoom factor; thenthere are T+1 transitions from the start zoom factor through the Tintermediate zoom factors to the end zoom factor. The X steps from thestart zoom factor to the end zoom factor are distributed among the T+1transitions. In version 1 described below, the steps are distributed toachieve an approximately even distribution of digital zoom level amongthe transitions. In version 2 described below, the steps are distributedto achieve an approximately even distribution of steps among thetransitions. However, other versions, in which the steps are distributedamong the transitions in any desired manner, are also contemplated.

In one implementation, intermediate zoom factors are used for all pairsof adjacent offered digital zoom levels. The same number of intermediatezoom factors may be used for all pairs of adjacent offered digital zoomlevels. Alternatively, the number of intermediate zoom factors used forone pair of adjacent offered digital zoom levels may differ from thenumber of intermediate zoom factors used for another pair of adjacentoffered digital zoom levels. Tables 10 and 11 below provide exampleswhere the same number of intermediate zoom factors are used for allpairs of adjacent offered digital zoom levels.

In another implementation, intermediate zoom factors are used for atleast one pair of adjacent offered digital zoom levels and are not usedfor at least one other pair of adjacent offered digital zoom levels.Table 5 below provides an example where intermediate zoom factors areused for some pairs of adjacent offered digital zoom levels and are notused for at least one other pair of adjacent offered digital zoomlevels. If intermediate zoom factors are used for two or more pairs ofadjacent offered digital zoom levels, the same number of intermediatezoom factors may be used for those pairs of adjacent offered digitalzoom levels. Alternatively, the number of intermediate zoom factors usedfor one of those pairs of adjacent offered digital zoom levels maydiffer from the number of intermediate zoom factors used for another ofthose pairs of adjacent offered digital zoom levels.

As mentioned above, the image sensor may generate both the cropped imageand the preview image, in which case the image sensor is capable ofimplementing a scaling algorithm. Alternately, the image sensor maygenerate the cropped image, and the host device may generate the previewimage from the cropped image by implementing a scaling algorithm. Theimage sensor may be configurable by the host device as to whether or notthe image sensor generates the preview image. In some implementations,the cropped image is generated by the host device from output of theimage sensor.

The use of gradual digital zoom as described herein may be implementedto affect only the preview image. In such an implementation, therecordable image as recorded in a storage medium may be unaffected byany intermediate zoom factors. Generation of the recordable image may bedelayed by the host device until the image sensor has completed a changeto a zoom factor corresponding to an offered digital zoom level.

The use of gradual digital zoom as described herein may provide asmoother zoom experience when changing between adjacent offered digitalzoom levels as perceived by a user viewing the preview images thanzooming directly between adjacent offered digital zoom levels. The useof gradual digital zoom as described herein may provide a visual effectsimilar to that experienced when using optical zoom. Optical zoomgenerally involves mechanical motion of optical elements, and the use ofgradual digital zoom as described herein may provide a user viewing thepreview images with a “mechanical” impression to the change. Considerthe situation where the change from one offered digital zoom level toanother is a result of input through a user input component such as atrackball. As the user rolls the trackball from a first position to asecond position, the host device interprets this rolling as a request tochange from the current offered digital zoom level (corresponding to thefirst position) to an adjacent offered digital zoom level (correspondingto the second position). By generating preview images at intermediatedigital zoom levels, the user may experience that those preview imagescorrespond to positions intermediate to the first position and thesecond position, resulting in a mechanical impression.

Version 1: Gradual Digital Zoom Levels

With gradual digital zoom levels, T intermediate digital zoom levels arechosen to be distributed generally evenly between the start offereddigital zoom level and the end offered digital zoom level. In otherwords, an absolute difference in digital zoom level from the startoffered digital zoom level to the end offered digital zoom level,divided by T+1, is approximately equal to the absolute difference indigital zoom level for any pair of adjacent digital zoom levels in theset consisting of the start offered digital zoom level, the Tintermediate digital zoom levels, and the end offered digital zoomlevel. For example, if the start offered digital zoom level is 1.00× andthe end offered digital zoom level is 1.99× and T equals 3, then theintermediate digital zoom levels are 1.25×, 1.50×, and 1.75×.

Intermediate zoom factors supported by the image sensor and providingcropped image dimensions closest to the intermediate digital zoom levelsare then identified. For example, as shown in Table 4 below, thesupported zoom factor 2.00 yields cropped image dimensions for a digitalzoom level 1.26×, the supported zoom factor 2.60 yields cropped imagedimensions for a digital zoom level 1.49×, and the supported zoom factor3.10 yields cropped image dimensions for a digital zoom level 1.75×.

TABLE 4 Dimensions of Offered Digital Digital Zoom Cropped Image LabelZoom Level Zoom Level Factor Width Height 1.00x 1.00x 1.00x 1.00 16001200 1.25x — 1.26x 2.00 1270 950 1.50x — 1.49x 2.60 1078 806 1.75x —1.75x 3.10 916 686 2.00x 1.99x 1.99x 3.45 804 602

Optional intermediate labels 1.25×, 1.50× and 1.75× are listed in Table4. Although the host device may be designed not to permit a user toselect an intermediate label when choosing an offered digital zoomlevel, the host device may display an intermediate label along with thepreview image that is a scaled-down version of the cropped imagegenerated by the image sensor at the supported zoom factor correspondingto that intermediate label.

The steps from the start zoom factor to the end zoom factor aredistributed among the T+1 transitions to achieve an approximately evendistribution of digital zoom level among the transitions.

Consider the example where the digital zoom is currently at offereddigital zoom level 1.00×, to which the label “1.00×” is assigned, andinput detected by the host device from its user input component isindicative of offered digital zoom level 1.99×, to which the label“2.00×” is assigned. The host device may control the image sensor viathe commands of the image sensor to adjust the image sensor from zoomfactor 1.00 to zoom factor 3.45 via the intermediate zoom factors 2.00,2.60 and 3.10. If the zoom factors in the set supported by the imagesensor are in incremental steps of 0.05, then 49 steps are needed to getfrom zoom factor 1.00 to zoom factor 3.45. For example, the host devicemay configure ZoomJumpSize to a value that corresponds to 20 steps andissue the ZoomJumpIn command to the image sensor. Once the image sensorhas completed the change to zoom factor 2.00, the host device mayconfigure ZoomJumpSize to a value that corresponds to 12 steps and issuethe ZoomJumpIn command to the image sensor. Once the image sensor hascompleted the change to zoom factor 2.60, the host device may configureZoomJumpSize to a value that corresponds to 10 steps and issue theZoomJumpIn command to the image sensor. Once the image sensor hascompleted the change to zoom factor 3.10, the host device may configureZoomJumpSize to a value that corresponds to 7 steps and issue theZoomJumpIn command to the image sensor.

FIG. 8-1 is an illustration of a sequence of example preview images thatare scaled-down versions of example cropped images obtained when exampledigital camera functionality is operated at digital zoom levels 1×,1.25×, 1.5×, 1.75× and 2×. FIG. 8-2 is an illustration of a sequence ofexample preview images that are scaled-down versions of example croppedimages obtained when the example digital camera functionality isoperated at digital zoom levels 1× and 2×. It is clear that a userlooking at the sequence of preview images illustrated in FIG. 8-1 willperceive a smoother zoom from digital zoom level 1× to digital zoomlevel 2× than a user looking at the sequence of preview imagesillustrated in FIG. 8-2.

Version 2: Gradual Zoom Factors

With gradual zoom factors, T intermediate zoom factors are chosen to bedistributed generally evenly between the start zoom factor(corresponding to a start offered digital zoom level) and the end zoomfactor (corresponding to a second offered digital zoom level). Forexample, if the start zoom factor is 4.30 and the end zoom factor is4.70 and T equals 1, then the intermediate zoom factor is 4.50.

If the zoom factors in the set supported by the image sensor are inincremental steps of 0.05, then 49 steps are needed to get from zoomfactor 1.00 to zoom factor 3.45. If T equals 2, then the 49 steps may bedistributed as 16+16+17, so that the intermediate zoom factors are 1.80and 2.60. Alternatively, the 49 steps may be distributed as 17+16+16 oras 16+17+16, both of which will yield different choices for theintermediate zoom factors.

Example intermediate zoom factors are shown in Table 5 below, where Tequals 2 for the (1×, 1.99×) pair of adjacent offered digital zoomlevels, T equals 1 for the (1.99×, 3.02×) pair and (3.02×, 3.99×) pairof adjacent offered digital zoom levels, and T equals 0 for the (3.99×,5×) pair of adjacent offered digital zoom levels.

TABLE 5 Dimensions of Offered Digital Digital Zoom Cropped Image LabelZoom Level Zoom Level Factor Width Height 1x 1.00x 1.00x 1.00 1600 12001.33x — 1.20x 1.80 1336 1000 1.67x — 1.49x 2.60 1078 806 2x 1.99x 1.99x3.45 804 602 2.5x — 2.37x 3.85 676 506 3x 3.02x 3.02x 4.30 530 396 3.5x— 3.22x 4.50 498 372 4x 3.99x 3.99x 4.70 402 300 5x 5.00x 5.00x 5.00 320240

Optional intermediate labels 1.33×, 1.67×, 2.5× and 3.5× are listed inTable 5. Although the host device may be designed not to permit a userto select an intermediate label when choosing an offered digital zoomlevel, the host device may display an intermediate label along with thepreview image that is a scaled-down version of the cropped imagegenerated by the image sensor at the supported zoom factor correspondingto that intermediate label.

The steps from the start zoom factor to the end zoom factor aredistributed among the T+1 transitions to achieve an approximately evendistribution of steps among the transitions.

Consider the example where the digital zoom is currently at offereddigital zoom level 1.99×, to which the label “2×” is assigned, and inputdetected by the host device from its user input component is indicativeof offered digital zoom level 3.02×, to which the label “3×” isassigned. The host device may control the image sensor via the commandsof the image sensor to adjust the image sensor from zoom factor 3.45 tozoom factor 4.30 via the intermediate zoom factor. If the zoom factorsin the set supported by the image sensor are in incremental steps of0.05, then 17 steps are needed to get from zoom factor 3.45 to zoomfactor 4.30. For example, the host device may configure ZoomJumpSize toa value that corresponds to 8 steps and issue the ZoomJumpIn command tothe image sensor. Once the image sensor has completed the change to zoomfactor 3.85, the host device may configure ZoomJumpSize to a value thatcorresponds to 9 steps and issue the ZoomJumpIn command to the imagesensor.

Additional Considerations for Version 2: Distribution of Steps

The number of steps from zoom factor 1.00 to zoom factor 3.45 when theset of supported zoom factors has increments of 0.05 is 49. As notedabove, if T equals 2, then the 49 steps may be distributed generallyevenly as 16+16+17, as 17+16+16, or as 16+17+16. If the largest numberof steps is used at the start of the change in zoom factors, then thedistribution of steps is referred to as “front-end loaded”. If thelargest number of steps is used at the end of the change in zoomfactors, then the distribution of steps is referred to as “back-endloaded”.

For example, a front-end loaded distribution for a change from zoomfactor 1.00 to zoom factor 3.45 is 17+16+16, and is implemented bytransitioning from zoom factor 1.00 to zoom factor 1.85 to zoom factor2.65 to zoom factor 3.45. Similarly, a front-end loaded distribution fora change from zoom factor 3.45 to zoom factor 1.00 is 17+16+16, and isimplemented by transitioning from zoom factor 3.45 to zoom factor 2.60to zoom factor 1.80 to zoom factor 1.00. In another example, a back-endloaded distribution for a change from zoom factor 1.00 to zoom factor3.45 is 16+16+17, and is implemented by transitioning from zoom factor1.00 to zoom factor 1.80 to zoom factor 2.60 to zoom factor 3.45.Similarly, a back-end loaded distribution for a change from zoom factor3.45 to zoom factor 1.00 is 16+16+17, and is implemented bytransitioning from zoom factor 3.45 to zoom factor 2.65 to zoom factor1.85 to zoom factor 1.00.

A host device, or an image sensor capable of implementing gradualdigital zoom internally, may be configured or designed to use solelyback-end loaded distributions of steps when a perfectly evendistribution of steps is not possible. If a perfectly even distributionof steps is not possible, then different intermediate zoom factors willbe used for a gradual digital zoom in (increase in digital zoom level)than for a gradual zoom out (decrease in digital zoom level).

A host device, or an image sensor capable of implementing gradualdigital zoom internally, may be configured or designed to use solelyfront-end loaded distributions of steps when a perfectly evendistribution of steps is not possible. If a perfectly even distributionof steps is not possible, then different intermediate zoom factors willbe used for a gradual digital zoom in (increase in digital zoom level)than for a gradual zoom out (decrease in digital zoom level).

In the foregoing description, the phrase “generally evenly” was used todescribe the distribution of steps among the T+1 transitions. Back-endloaded distributions of 23 steps among 3 transitions include both 7+7+9and 7+8+8, and both such distributions are considered to be distributed“generally evenly” as used herein. Similarly, front-end loadeddistributions of 32 steps among 3 transitions include both 12+10+10 and11+11+10, and both such distributions are considered to be distributed“generally evenly” as used herein. However, a distribution of 23 stepsamong 3 transitions as 6+7+10 is not considered to be distributedgenerally evenly, since 6 is less than 23 divided by 3, ignoring theremainder of the division. In general, any distribution of X steps amongT−1 transitions is not considered to be distributed generally evenly ifany number in the distribution is less than the quotient of X/(T+1).

Technique 3: Distribution of Offered Digital Zoom Levels

Consider the digital zoom levels and dimensions of cropped images listedin Table 1 above. The ratios of dimensions of cropped imagescorresponding to pairs of adjacent digital zoom levels in the set {1×,2×, 3×, 4×, 5×} are not substantially equal to one another. Thedimensions of the cropped image at digital zoom level 2× are 0.5 timesthe dimensions of the cropped image at digital zoom level 1×. Thedimensions of the cropped image at digital zoom level 3× are 0.67 timesthe dimensions of the cropped image at digital zoom level 2×. Thedimensions of the cropped image at digital zoom level 4× are 0.75 timesthe dimensions of the cropped image at digital zoom level 3×. Thedimensions of the cropped image at digital zoom level 5× are 0.8 timesthe dimensions of the cropped image at digital zoom level 4×. Thetransition from digital zoom level 1× to digital zoom level 2× istherefore a bigger change than the transition from digital zoom level 4×to digital zoom level 5×.

Version 1: Offered Digital Zoom Levels at Equal Spacing of Zoom Factors

A set of offered digital zoom levels may be selected so that theabsolute difference in zoom factors corresponding to any pair ofadjacent offered digital zoom levels in the set is equal to the absolutedifference in zoom factors corresponding to any other pair of adjacentoffered digital zoom levels in the set. An example set of offereddigital zoom levels and dimensions of cropped images corresponding tothose digital zoom levels is listed in Table 6 below.

TABLE 6 Dimensions of Offered Digital Zoom Cropped Image Label ZoomLevel Factor Width Height 1x 1.00x 1.00 1600 1200 2x 1.26x 2.00 1270 9503x 1.69x 3.00 948 710 4x 2.56x 4.00 626 468 5x 5.00x 5.00 320 240

In this example, the absolute difference in zoom factors correspondingto any pair of adjacent offered digital zoom levels is 1.00. However,sets of adjacent offered digital zoom levels with other values for theabsolute difference in zoom factors corresponding to any pair ofadjacent offered digital zoom levels are also contemplated.

The host device may assign a label to each offered digital zoom level.Examples of such labels are included in the left-most column of Table 6above. However, persons of ordinary skill in the art will recognize thatthe label “3×” in Table 6 corresponds to a digital zoom level of 1.69×,and not to a digital zoom level of 3×.

The offered digital zoom levels will affect both the preview image andthe recordable image, since they affect the dimensions of the croppedimage. Since the changes in the dimensions of the cropped image are moreevenly spread among the offered digital zoom levels, zooming from 1.00×to 5.00× with this set of offered digital zoom levels will appearsmoother than zooming from 1.00× to 5.00× with the set {1×, 2×, 3×, 4×,5×} of offered digital zoom levels.

It is also contemplated that adjacent offered digital zoom levels thatsatisfy the condition that any pair of those adjacent offered digitalzoom levels differ by a fixed absolute zoom factor difference form asubset of the complete set of offered digital zoom levels, and thatother offered digital zoom levels in the complete set do not satisfythis condition.

Version 2: Optically Uniform Digital Zoom Levels

A set of digital zoom levels is considered optically uniform if, for anypair of adjacent digital zoom levels in the set, a ratio of croppedimage dimensions corresponding to a larger zoom level in the pair tocropped image dimensions corresponding to a smaller zoom level in thepair is substantially equal to a ratio of cropped image dimensionscorresponding to a larger zoom level in any other pair of adjacentdigital zoom levels in the set to cropped image dimensions correspondingto a smaller zoom level in the other pair.

An example optically uniform set of digital zoom levels and dimensionsof cropped images corresponding to those digital zoom levels is listedin Table 7 below.

TABLE 7 Dimensions of Digital Cropped Image Label Zoom Level WidthHeight 1x 1.00x 1600 1200 2x 1.50x 1070 802 3x 2.23x 716 537 4x 3.34x479 359 5x 5.00x 320 240

The dimensions of the cropped images satisfy the followingrelationships:

1600:1070≈1070:716≈716:479≈479:3201200:802≈802:537≈537:359≈359:240where the colon is a mathematical symbol to separate two numbers in aratio, and is a mathematical symbol meaning “substantially equal to”.Even if the ratios are not precisely identical, as will certainly be thecase if the dimensions of the cropped image are altered slightly toaccount for various implementation constraints, the set is stillconsidered to be optically uniform, hence the use of the phrase“substantially equal to” above.

Note that the example set of optically uniform digital zoom levels,rounded to two decimal places, is {1.00×, 1.50×, 2.23×, 3.34×, 5.00×}.If this is the set of offered digital zoom levels, the host device mayassign a label to each offered digital zoom level. Examples of suchlabels are included in the left-most column of Table 7 above. However,persons of ordinary skill in the art will recognize that the label “3×”in Table 7 corresponds to a digital zoom level of 2.23×, and not to adigital zoom level of 3×.

In more general terms, a set of optically uniform digital zoom levels isachieved with a ratio 1:M, where the multiplier M is given by thefollowing equation:

M=(dim(HighestZoomLevel)/dim(LowestZoomLevel))̂(1/(NumberOfZoomLevels−1))

where “dim(a)” represents the dimensions of its argument a, “/”represents division, and “{circle around ( )}” represents themathematical power function. HighestZoomLevel is the highest zoom levelin the set (but not necessarily the maximum offered zoom level),LowestZoomLevel is the lowest zoom level in the set (but not necessarilythe minimum offered zoom level), and NumberOfZoomLevels is the number ofzoom levels in the set (but not necessarily the total number of offeredzoom levels). In other words, the complete set of offered digital zoomlevels may contain a subset which is optically uniform. Alternatively,the complete set of offered digital zoom levels may be opticallyuniform.

The offered digital zoom levels will affect both the preview image andthe recordable image, since they affect the dimensions of the croppedimage. Zooming between offered digital zoom levels in a set or subsetthat is optically uniform will provide a smoother zoom experience thanzooming between digital zoom levels in the set {1×, 2×, 3×, 4×, 5×} anda smoother zoom experience than zooming between digital zoom levelsspread evenly in the zoom factor space.

Optically Uniform Digital Zoom Levels Adjusted to Meet ProcessorInterface Requirements

A processor of a host device in which digital camera functionality isintegrated may have certain requirements. For example, the interface tothe processor may require byte-alignment. In that case, the width andheight of any cropped image should be divisible by four.

An example optically uniform set of digital zoom levels and dimensionsof cropped images corresponding to those digital zoom levels, adjustedto meet a byte-alignment requirement, is listed in Table 8 below. Table8 also includes the example labels of Table 7, and the digital zoomlevels, rounded to two decimal places, corresponding to the dimensionsof the cropped images.

TABLE 8 Dimensions of Digital Cropped Image Label Zoom Level WidthHeight 1x 1.00x 1600 1200 2x 1.49x 1072 804 3x 2.23x 716 536 4x 3.33x480 360 5x 5.00x 320 240

Some of the digital zoom levels in Table 8 differ slightly from thedigital zoom levels in Table 7. This discrepancy is owing to the slightchange in the cropped image dimensions from Table 7 to Table 8.

Zoom Factors for Adjusted Optically Uniform Digital Zoom Levels

As explained above, the image sensor may be capable of supporting only adiscrete set of zoom factors, each corresponding to dimensions of acropped image. If cropping to implement digital zooming is performed inthe image sensor, then digital zooming is limited by the croppingcapabilities of the image sensor.

Some examples of zoom factors supported by an example image sensorcapable of producing a captured image of 1600 by 1200 pixels anddimensions of cropped images corresponding to those supported zoomfactors are listed in Table 9 below. These examples were selected ashaving cropped image dimensions closest to and larger than the croppedimage dimensions in Table 8. Table 9 also includes the example labels ofTable 7, and the digital zoom levels, rounded to two decimal places,corresponding to the dimensions of the cropped images.

TABLE 9 Dimensions of Digital Cropped Image Label Zoom Level Zoom FactorWidth Height 1x 1.00x 1.00 1600 1200 2x 1.49x 2.60 1078 806 3x 2.21x3.75 724 542 4x 3.22x 4.45 482 360 5x 5.00x 5.00 320 240

Some of the digital zoom levels in Table 9 differ slightly from thedigital zoom levels in Table 8. This discrepancy is owing to the slightchange in the cropped image dimensions from Table 8 to Table 9.

The host device may use zoom translation information to translatebetween an indication of one of its offered digital zoom levels and azoom factor supported by its image sensor. To continue the example ofTable 9, a zoom translation table comprising the left-most and middlecolumns of Table 9 may be used. The zoom translation table is repeatedbelow as Table 10.

TABLE 10 Label Zoom Factor 1x 1.00 2x 2.60 3x 3.75 4x 4.45 5x 5.00

Persons of ordinary skill in the art will recognize that the zoomtranslation information may be stored in any suitable format and notnecessarily in tabular format. Further the indication of the offeredzoom level corresponding to a particular supported zoom factor may beimplicit from the format in which the supported zoom factors (orindications thereof) are stored.

Consider the example where the digital zoom is currently at offereddigital zoom level 3.22×, to which the label “4×” is assigned, and inputdetected by the host device from its user input component is indicativeof offered digital zoom level 2.21×, to which the label “3×” isassigned. The host device controls the image sensor via the commands ofthe image sensor to adjust the image sensor from zoom factor 4.45 tozoom factor 3.75. If the zoom factors in the set supported by the imagesensor are in incremental steps of 0.05, then 14 steps are needed to getfrom zoom factor 4.45 to zoom factor 3.75. For example, the host devicemay configure ZoomJumpSize to a value that corresponds to 14 steps andissue the ZoomJumpOut command to the image sensor.

Combination of Techniques 2 and 3: Gradual Zoom Factors for AdjustedOptically Uniform Offered Digital Zoom Levels

An example implementation of back-end loaded gradual zoom factors with Tequals 2 for an image sensor having supported zoom factors in incrementsof 0.05, the image sensor able to produce a captured image of 1600 by1200 pixels, with five adjusted optically uniform offered digital zoomlevels from a minimum offered digital zoom level of 1.00× to a maximumoffered digital zoom level of 5.00× is shown in Table 11 below. Table 11is to be used for zoom in (increase in digital zoom level) operations.

TABLE 11 Dimensions of Offered Digital Digital Zoom Cropped Image LabelZoom Level Zoom Level Factor Width Height 1.00x 1.00x 1.00x 1.00 16001200 1.33x — 1.11x 1.50 1435 1075 1.67x — 1.26x 2.00 1270 950 2.00x1.49x 1.49x 2.60 1078 806 2.33x — 1.66x 2.95 966 722 2.67x — 1.88x 3.30852 638 3.00x 2.21x 2.21x 3.75 724 542 3.33x — 2.49x 3.95 644 480 3.67x— 2.77x 4.15 578 432 4.00x 3.22x 3.22x 4.45 482 360 4.33x — 3.69x 4.60434 324 4.67x — 4.16x 4.75 386 288 5.00x 5.00x 5.00x 5.00 320 240

Optional intermediate labels 1.33×, 1.67×, 2.33×, 2.67×, 3.33×, 3.67×,4.33× and 4.67× are listed in Table 11. Although the host device may bedesigned not to permit a user to select an intermediate label whenchoosing an offered digital zoom level, the host device may display anintermediate label along with the preview image that is a scaled-downversion of the cropped image generated by the image sensor at thesupported zoom factor corresponding to that intermediate label.

The distribution of the steps is shown below:

1.00→2.60 (1.00→1.50→2.00→2.60), 32 steps=10+10+122.60→3.75 (2.60→2.95→3.30→3.75), 23 steps=7+7+93.75→4.45 (3.75→3.95→4.15→4.45), 14 steps=4+4+64.45→5.00 (4.45→4.60→4.75→5.00), 11 steps=3+3+5

Consider the example where the digital zoom is currently at offereddigital zoom level 1.49×, to which the label “2×” is assigned, and inputdetected by the host device from its user input component is indicativeof offered digital zoom level 2.21×, to which the label “3×” isassigned. The host device controls the image sensor via the commands ofthe image sensor to adjust the image sensor from zoom factor 2.60 tozoom factor 3.75 via the intermediate zoom factors 2.95 and 3.30. Forexample, if the zoom factors in the set supported by the image sensorare in incremental steps of 0.05, the host device may configureZoomJumpSize to a value that corresponds to 7 steps and issue theZoomJumpIn command to the image sensor. Once the image sensor hascompleted the change to zoom factor 2.95, the host device may configureZoomJumpSize to a value that corresponds to 7 steps and issue theZoomJumpIn command to the image sensor. Once the image sensor hascompleted the change to zoom factor 3.30, the host device may configureZoomJumpSize to a value that corresponds to 9 steps and issue theZoomJumpIn command to the image sensor.

An example implementation of back-end loaded gradual zoom factors with Tequals 2 for an image sensor having supported zoom factors in incrementsof 0.05, the image sensor able to produce a captured image of 1600 by1200 pixels, with five adjusted optically uniform offered digital zoomlevels from a minimum offered digital zoom level of 1.00× to a maximumoffered digital zoom level of 5.00× is shown in Table 12 below. Table 12is to be used for zoom out (decrease in digital zoom level) operations.

TABLE 12 Dimensions of Offered Digital Digital Zoom Cropped Image LabelZoom Level Zoom Level Factor Width Height 5.00x 5.00x 5.00x 5.00 320 2404.67x — 4.44x 4.85 360 270 4.33x — 3.99x 4.70 402 300 4.00x 3.22x 3.22x4.45 482 360 3.67x — 2.94x 4.25 546 408 3.33x — 2.63x 4.05 610 456 3.00x2.21x 2.21x 3.75 724 542 2.67x — 1.95x 3.40 820 614 2.33x — 1.72x 3.05932 698 2.00x 1.49x 1.49x 2.60 1078 806 1.67x — 1.29x 2.10 1238 9261.33x — 1.14x 1.60 1400 1048 1.00x 1.00x 1.00x 1.00 1600 1200

Optional intermediate labels 1.33×, 1.67×, 2.33×, 2.67×, 3.33×, 3.67×,4.33× and 4.67× are listed in Table 12. Although the host device may bedesigned not to permit a user to select an intermediate label whenchoosing an offered digital zoom level, the host device may display anintermediate label along with the preview image that is a scaled-downversion of the cropped image generated by the image sensor at thesupported zoom factor corresponding to that intermediate label.

The distribution of the steps is shown below:

5.00→4.45 (5.00→4.85→4.70→4.45), 11 steps=3+3+54.45→3.75 (4.45→4.25→4.05→3.75), 14 steps=4+4+63.75→2.60 (3.75→3.40→3.05→2.60), 23 steps=7+7+92.60→1.00 (2.60→2.10→1.60→1.00), 32 steps=10+10+12

Consider the example where the digital zoom is currently at offereddigital zoom level 5.00×, to which the label “5×” is assigned, and inputdetected by the host device from its user input component is indicativeof offered digital zoom level 3.22×, to which the label “4×” isassigned. From the perspective of the image sensor, this is really achange from zoom factor 5.00 to zoom factor 4.45. The host devicecontrols the image sensor via the commands of the image sensor to adjustthe image sensor from zoom factor 5.00 to zoom factor 4.45 via theintermediate zoom factors 4.85 and 4.70. For example, the host devicemay configure ZoomJumpSize to a value that corresponds to 3 steps andissue the ZoomJumpOut command to the image sensor. Once the image sensorhas completed the change to zoom factor 4.85, the host device may issuethe ZoomJumpOut command to the image sensor. Once the image sensor hascompleted the change to zoom factor 4.70, the host device may configureZoomJumpSize to a value that corresponds to 5 steps and issue theZoomJumpOut command to the image sensor.

Other combinations of techniques 2 and 3 will be obvious to persons ofordinary skill in the art. For example, version 1 of technique 2 may becombined with optically uniform offered digital zoom levels. In anotherexample, a set of optically uniform offered digital zoom levels may be asubset of a larger set of optically uniform digital zoom levels, and thegradual zoom uses intermediate zoom levels from among the larger set. Inyet another example, a set of optically uniform offered digital zoomlevels may be combined with the technique of gradual zoom such that theintermediate zoom factors enable optically uniform transitions from oneoffered digital zoom level to an adjacent offered digital zoom level.

Technique 4: Adjustment of Sharpness

As mentioned above, the image sensor may generate both the cropped imageand the preview image, in which case the image sensor is capable ofimplementing a scaling algorithm. The image sensor may generate thepreview image separately from the recordable image. The image sensor maybe able to set the sharpness of the preview image, for example, via apreview image sharpness parameter, independently of setting thesharpness of the recordable image. The image sensor generates thepreview image at the sharpness determined by the value of the previewimage sharpness parameter by processing the captured image. Thisprocessing may be done before, during or after any cropping, but must bedone before any scaling.

The sharpness of an image may be understood as related to the amount ofdetail, noise and contrast perceived in the image. An image with highersharpness will have more contrast, more detailed features and more noise(especially at edges of color changes) than an image with lowersharpness. An image with lower sharpness will appear softer than animage with higher sharpness.

Quantitative measures of sharpness are also known in the art. An edgeprofile can be created for a digital image, for example, as an averageof graph of distance (measured in pixels) versus pixel value (light orbright is higher, dark is lower) for any portion of the digital image inwhich there is a transition from a region of dark pixels to a region oflight pixels (or a transition from a region of light pixels to a regionof dark pixels). The quantitative measure “10-to-90%” measures how manypixels in distance are required to change from 10% of the pixel value to90% of the pixel value. The steeper the slope (and hence the smaller themeasure), the sharper the digital image in that portion. It will beappreciated by persons of ordinary skill in the art that similarquantitative measures, for example, “0-to-100%” or “20-to-80%”, can beused as quantitative measures of sharpness instead of “10-to-90%”.

The edge profile may include a valley (commonly known as “undershoot”)or a peak (commonly known as “overshoot”) or both. Undershoot will beobserved if the edge includes pixels with a pixel value lower than thepixel value of the region of dark pixels. Overshoot will be observed ifthe edge includes pixels with a pixel value higher than the pixel valueof the region of light pixels. Undershoot and overshoot are side effectsthat are usually observed in cases where a sharpness enhancementfunction has been applied to the digital image. Too much undershoot ortoo much overshoot creates an unpleasant effect known in the art as“halo”.

It will be appreciated by persons of ordinary skill in the art that aparticular sharpness parameter value will be interpreted differently bydifferent image sensors. Nonetheless, increasing the value of asharpness parameter in the image sensor will increase the sharpness ofthe image generated by the image sensor, and decreasing the value of thesharpness parameter will decrease the sharpness of the image generatedby the image sensor.

The host device may control the image sensor to generate the recordableimage at its sharpest, so that detail in the captured image is not lost.When the digital zoom is at the minimum offered digital zoom level, thepreview image is a scaled-down version of the captured image.Imperfections in the captured image are reduced by the effect of thescaling algorithms implemented by the image sensor. On the other hand,when the digital zoom is at the maximum offered digital zoom level, thepreview image may be identical or close in size to the cropped image.

In practice, images include noise resulting from a variety of sources.Noise in an image may appear, for example, as a speckle or a pixel in acolor or shade of gray unrelated to that of its neighboring pixels. Thepreview image is refreshed at a refresh rate, which may be fixed orvariable. For example, the refresh rate may be set to 15 times persecond in bright lighting conditions and to 8 times per second in dimlighting conditions. Noise in the preview image may therefore beparticularly noticeable by a user, since the noise will differ from onepreview image to another, even when the preview images are all at thesame offered digital zoom level. As noted above, the higher thesharpness of an image, the more noise in the image.

To reduce noise in the preview image, the host device may associatedifferent sharpness values for the generation of the preview image withthe different offered digital zoom levels, so that the lowest of thesharpness values is associated with the minimum offered digital zoomlevel, increasingly higher sharpness values are associated withincreasingly higher offered digital zoom levels, and the highest of thesharpness values is associated with the maximum offered digital zoomlevel. For example, Table 9 is repeated below as Table 13, with exampleassociated sharpness values for the preview image added in theright-most column

TABLE 13 Dimensions of Digital Zoom Cropped Image Sharpness Label ZoomLevel Factor Width Height Value 1x 1.00x 1.00 1600 1200 3 2x 1.49x 2.601078 806 3 3x 2.21x 3.75 724 542 4 4x 3.22x 4.45 482 360 7 5x 5.00x 5.00320 240 26

Combination of Technique 2+Technique 4: Adjustment of Sharpness DuringGradual Zoom

When gradual digital zoom is used, the host device may adjust the imagesensor's sharpness value for the generation of the preview image as thehost device controls the image sensor to zoom to different intermediatezoom factors. For example, a portion of Table 11 is repeated below asTable 14, with example sharpness values for the preview image added inthe right-most column

TABLE 14 Offered Digital Digital Zoom Zoom Sharpness Label Zoom LevelLevel Factor Value 3.00x 2.21x 2.21x 3.75 4 3.33x — 2.49x 3.95 5 3.67x —2.77x 4.15 6 4.00x 3.22x 3.22x 4.45 7 4.33x — 3.69x 4.60 13 4.67x —4.16x 4.75 19 5.00x 5.00x 5.00x 5.00 26

Alternatively, when gradual digital zoom is used in the change from afirst offered digital zoom level to a second offered digital zoom level,the host device may use the sharpness value associated with the firstoffered digital zoom level or the sharpness value associated with thesecond offered digital zoom level when changing to the intermediate zoomfactors.

When zooming in with gradual digital zoom, the host device may use thesharpness value associated with the lower offered digital zoom level forthe intermediate zoom factors and may change to the sharpness valueassociated with the higher offered digital zoom level only in the finaltransition to the higher offered digital zoom level. Retaining the lowersharpness value during the gradual zoom in may reduce noise in thepreview image. For example, a portion of Table 11 is repeated below asTable 15, with example sharpness values for the preview image added inthe right-most column.

TABLE 15 Offered Digital Digital Zoom Zoom Sharpness Label Zoom LevelLevel Factor Value 1.00x 1.00x 1.00x 1.00 3 1.33x — 1.11x 1.50 3 1.67x —1.26x 2.00 3 2.00x 1.49x 1.49x 2.60 3 2.33x — 1.66x 2.95 3 2.67x — 1.88x3.30 3 3.00x 2.21x 2.21x 3.75 4 3.33x — 2.49x 3.95 4 3.67x — 2.77x 4.154 4.00x 3.22x 3.22x 4.45 7 4.33x — 3.69x 4.60 7 4.67x — 4.16x 4.75 75.00x 5.00x 5.00x 5.00 26Note that as the image sensor is controlled to change from zoom factor3.75 (corresponding to offered digital zoom level 2.21× to which thelabel “3.00×” is assigned) to zoom factor 4.45 (corresponding to offereddigital zoom level 3.22× to which the label “4.00×” is assigned) via theintermediate zoom factors 3.95 and 4.15, the sharpness value is set bythe host device at the lower sharpness value of 4 for the intermediatezoom factors and changed to the higher sharpness value of 7 only for thetransition from intermediate zoom factor 4.15 to zoom factor 4.45.Similarly, as the image sensor is controlled to change from zoom factor4.45 to zoom factor 5.00 (corresponding to offered digital zoom level5.00× to which the label “5.00×” is assigned) via the intermediate zoomfactors 4.60 and 4.75, the sharpness value is set by the host device atthe lower sharpness value of 7 for the intermediate zoom factors andchanged to the higher sharpness value of 26 only for the transition fromintermediate zoom factor 4.75 to zoom factor 5.00.

When zooming out with gradual digital zoom, the host device may use thesharpness value associated with the lower offered digital zoom level forall transitions from the higher offered digital zoom level to the loweroffered digital zoom level via the intermediate zoom factors. Using thelower sharpness value during the gradual zoom out may reduce noise inthe preview image. For example, a portion of Table 12 is repeated belowas Table 16, with example sharpness values for the preview image addedin the right-most column

TABLE 16 Offered Digital Digital Zoom Zoom Sharpness Label Zoom LevelLevel Factor Value 5.00x 5.00x 5.00x 5.00 26 4.67x — 4.44x 4.85 7 4.33x— 3.99x 4.70 7 4.00x 3.22x 3.22x 4.45 7 3.67x — 2.94x 4.25 4 3.33x —2.63x 4.05 4 3.00x 2.21x 2.21x 3.75 4 2.67x — 1.95x 3.40 3 2.33x — 1.72x3.05 3 2.00x 1.49x 1.49x 2.60 3 1.67x — 1.29x 2.10 3 1.33x — 1.14x 1.603 1.00x 1.00x 1.00x 1.00 3Note that as the image sensor is controlled to change from zoom factor5.00 to zoom factor 4.45 via the intermediate zoom factors 4.85 and4.70, the sharpness value is set by the host device at the lowersharpness value of 7 before starting the gradual zoom out. Similarly, asthe image sensor is controlled to change from zoom factor 4.45 to zoomfactor 3.75 via the intermediate zoom factors 4.25 and 4.05, thesharpness value is set by the host device at the lower sharpness valueof 4 before starting the gradual zoom out.

Combination of Techniques 2+3+4: Adjustment of Sharpness with Back-EndLoaded Gradual Zoom Factors between Adjusted Optically Uniform OfferedDigital Zoom Levels

Since Tables 14 and 15 are based on Tables 10 and 11, they actuallyrepresent an adjustment of sharpness with back-end loaded gradual zoomfactors between adjusted optically uniform offered digital zoom levels.

FIG. 9 is a flowchart illustration of a simplified example method forgradual zoom between optically uniform digital zoom levels with adjustedsharpness values.

At 902, the host device receives an indication of a requested offereddigital zoom level, for example, by detection of the indication by auser input component of the host device. At 904, the host device checkswhether the indication is valid. For example, if the indication is suchthat the requested offered digital zoom level is less than the minimumoffered digital zoom level or exceeds the maximum offered digital zoomlevel, then the indication is invalid. In another example, if theindication is for a digital zoom level that is not offered, then theindication is invalid. If the indication is invalid, then at 906, thehost device returns “invalid request” to the camera application.

If the indication is valid, then at 908 the host device checks whetherthe current offered digital zoom level at which the host device isoperating equals the requested offered digital zoom level. If so, thenat 910, the host device returns “success” to the camera application.

If not, then at 912, the host device uses its zoom translationinformation to translate the indication of the requested offered digitalzoom level to a requested zoom factor supported by the host device'simage sensor.

At 914, the host device checks whether the requested zoom factor isgreater than a current zoom factor at which the host device's imagesensor is operating. If so, then at 916 the host device sets a commandparameter to “zoom in”, and if not, then at 918 the host device sets thecommand parameter to “zoom out”. Assuming that the set of discrete zoomfactors supported by the host device's image sensor is in fixedincrements of size increment, the host device then calculates at 920 thepositive number X of steps from the current zoom factor to the requestedzoom factor, where “|a|” is the absolute value of the argument a.Assuming that gradual zoom is implemented in the host device with afixed positive number T of intermediate zoom levels (and hence Tintermediate zoom factors) between any pair of adjacent offered digitalzoom levels, at 922, the host device retrieves the value T.

At 924, the host device sets a parameter transitions to T+1, so that thejump from the current zoom factor to the requested zoom factor isperformed via T intermediate zoom factors.

At 926, the host device adjusts the sharpness value if this is a case ofzoom out.

At 928, the host device sets a counter to a value 0. At 930, the hostdevice checks whether the value of counter is less than the value of theparameter transitions. If so, then at 932 the host device checks whetherthe value of the counter equals 1 subtracted from the value of theparameter transitions. If so, then at 934, the host device sets aparameter Jump_Size to equal the quotient X/transitions. This ensuresthat the distribution of steps among the transitions is back-end loaded.

At 936, the host device controls its image sensor to perform the commandindicated by the command parameter, with a jump of the value of theparameter Jump_Size. At 938, the host device increments the value ofcounter by 1, and the method continues to 930.

If at 932 the value of the counter is not equal to 1 subtracted from thevalue of the parameter transitions, then at 940 the host device sets theparameter Jump_Size to equal the quotient X/transitions plus theremainder of dividing X by transitions, and the method continues to 936.

If at 930 the value of the counter is not less than the value of theparameter transitions, then the transitions to the requested offereddigital zoom level have been completed. At 942, the host device adjuststhe sharpness value if this is a case of zoom out. At 944 the hostdevice updates the current zoom factor and the current offered digitalzoom level to the requested zoom factor and the requested offereddigital zoom level, respectively, and at 9480, the host device returns“success” to the camera application.

Block Diagrams

FIG. 10 is a simplified block diagram illustration of an example hostdevice 1000 in which digital camera functionality is integrated.Standalone digital camera 100 and mobile electronic device 200 are bothexamples of a host device such as illustrated in FIG. 10, and other hostdevices are also contemplated. Host device 1000 may comprise components,elements, circuitry and/or modules that, for clarity, are notillustrated in FIG. 10. Host device 1000 may be battery-operated andcomprises a battery interface 1002 through which a battery (not shown)can power components of host device 1000.

Host device 1000 comprises an arrangement 1004 of one or more opticalelements, and an image sensor 1006 optically coupled to arrangement1004. Image sensor 1006 comprises a pixel array 1008 comprisingphotosensitive material. Image sensor 1006 is arranged to read acaptured image from pixel array 1008. The actual size of the image readfrom pixel array 1008 will depend on the number of pixels in pixel array1008 and the sensor mode in which image sensor 1006 is operated. UltraeXtended Graphics Array (UXGA) and Super Video Graphics Array (SVGA) aretwo examples for a sensor mode. As mentioned above, the term capturedimage refers to the image read from the pixel array, discounting anymargin or border pixels. For example, an image sensor comprising a pixelarray of dimensions 1624 by 1216 and operated in a UXGA mode may read animage of 1608 by 1208 pixels. With a margin of four dummy columns alongeach edge of the image, the dimensions of the captured image aretherefore 1600 by 1200 pixels.

Image sensor 1006 and arrangement 1004 may be packaged together as adigital camera module 1010. A non-exhaustive list of examples for imagesensor 1006 includes a charge coupled device (CCD) image sensor and acomplementary metal oxide semiconductor (CMOS) image sensor. Imagesensor 1006 may include processing capabilities. For example, imagesensor 1006 may be a system-on-chip (SOC) image sensor. Alternately,image sensor 1006 may lack processing capabilities.

Host device 1000 comprises a processor 1012 coupled to image sensor1006, and a display module 1014 coupled to processor 1012. Anon-exhaustive list of examples for an element comprised in displaymodule 1014 includes an active matrix, a passive matrix, a thin filmtransistor (TFT) liquid crystal display (LCD), a thin film diode (TFD)LCD, an organic light emitting diode (OLED), a capacitive touchscreen, aresistive touchscreen, a twisted nematic (TN) display, a super-twistednematic (STN) display, and the following types of STN displays: colorSTN (CSTN), double layer STN (DSTN), dual scan STN (DSTN), fast responseSTN (FRSTN), film compensated STN (FSTN), double film STN (FFSTN), andmonochrome STN (MSTN).

Host device 1000 comprises a memory 1016 coupled to processor 1012.Memory 1016 stores indications 1018 of digital zoom levels offered byhost device 1000. Memory 1016 comprises at least two buffers. A buffer1020 is arranged to store a recordable image that is to be recorded in astorage medium. A buffer 1022 is arranged to store a preview image to bedisplayed by display module 1014. Both the recordable image and thepreview image are derived from the captured image.

The storage medium to which a recordable image stored in buffer 1020 isto be recorded may be comprised in host device 1000, illustrated in FIG.10 as an optional block 1024. Alternatively or additionally, the storagemedium to which a recordable image stored in buffer 1020 is to berecorded may be external to host device 1000. Recording of the image inthe external storage medium (not shown) may be enabled using aninterface of host device 1000, illustrated in FIG. 10 as an optionalblock 1026. A non-exhaustive list of examples for interface 1026includes a radio-frequency wireless communication interface, a wiredcommunication interface, a universal serial bus (USB) connector, and anoptical interface.

Host device 1000 comprises at least one user input component 1028coupled to processor 1012. User input component 1028 is able to detectinput indicative of one of the digital zoom levels offered by hostdevice 1000. A non-exhaustive list of examples for user input component1028 includes a trackball, a thumbwheel, a key, a button, a keyboard, atouchscreen, an optical user input component, and an audio user inputcomponent such as a microphone.

As mentioned above, image sensor 1006 may be capable of supporting onlya discrete set of zoom factors, each corresponding to dimensions of acropped image. Host device 1000 may use zoom translation information1030 stored in memory 1016 to translate between an indication of one ofits offered digital zoom levels and a zoom factor supported by imagesensor 1006. As mentioned above, host device 1000 may associatedifferent sharpness values for the generation of the preview image withthe different offered digital zoom levels. The sharpness valueassociated with an offered digital zoom level may be included in zoomtranslation information 1030 or elsewhere (not shown) in memory 1016.

Memory 1016 is arranged to store code 1032 that is executable byprocessor 1012. Code 1032 may comprise firmware or software or anycombination thereof. Code 1032 may include an operating system for hostdevice 1000 and applications to be run on host device 1000. For example,code 1032 may provide a graphical user interface that enables a user ofhost device 1000 to select one of the offered digital zoom levels. Inputreceived via the graphical user interface will result in a change from acurrent offered digital zoom level to the selected offered digital zoomlevel, even if the selected offered digital zoom level is not adjacentto the current offered digital zoom level.

Memory 1016 is also arranged to store data 1034. Some of data 1034 maybe used in the operation of code 1032. Some of data 1034 may begenerated by code 1032 when executed by processor 1012. Memory 1016 mayalso be arranged to store picture size settings 1036, which affect thesize of a recordable image, as described herein. Memory 1016 maycomprise removable memory or non-removable memory or any combinationthereof. Memory 1016 may comprise volatile memory or non-volatile memoryor any combination thereof. Memory 1016 is an example of physicalcomputer-readable media.

As mentioned above, digital zoom is accomplished by cropping an image toretain a center part of the image in the same aspect ratio as theoriginal image and to discard the rest of the image. If the zooming isaccomplished in image sensor 1006, then the output of image sensor 1006includes a cropped image to be stored in buffer 1020 and to be recordedin a storage medium. If the zooming is accomplished by processor 1012,then the output of image sensor 1006 includes the captured image readfrom pixel array 1008 or a processed version thereof, and the croppedimage derived by processor 1012 from the output of image sensor 1006 isstored in buffer 1020 to be recorded in a storage medium.

As mentioned above, the preview image is not necessarily identical tothe cropped image. If image sensor 1006 generates both the cropped imageand the preview image, then image sensor 1006 is capable of implementinga scaling algorithm. In this case, the output of image sensor 1006includes a cropped image to be stored in buffer 1020 and to be recordedin a storage medium, and a preview image to be stored in buffer 1022 andto be displayed by display module 1014. If image sensor 1006 generatesthe cropped image and host device 1006 uses processor 1012 to generatethe preview image, then image sensor 1006 need not be capable ofimplementing a scaling algorithm. If the zooming is accomplished byprocessor 1012, as described above, then image sensor 1006 need not becapable of implementing a scaling algorithm.

Although display module 1014 is illustrated in FIG. 10 as comprised inhost device 1000, in other implementations, display module 1014 may beexternal to host device 1000 and host device 1000 may comprise aninterface (not shown) through which display module 1014 can receiveinput from host device 1000.

FIG. 11 is a simplified block diagram illustration of an examplesystem-on-chip image sensor 1106. Image sensor 1106, which is an exampleof image sensor 1006, may comprise components, elements, circuitryand/or modules that, for clarity, are not illustrated in FIG. 11. Imagesensor 1106, being a system-on-chip image sensor, is a single integratedcircuit and necessarily comprises a processor 1107. Image sensor 1106comprises a pixel array 1108 comprising photosensitive material. Imagesensor 1106 is arranged to read a captured image from pixel array 1108.

Image sensor 1106 comprises an analog-to-digital converter (ADC) 1110 toconvert analog output of pixel array 1108 to digital output. Imagesensor 1110 comprises digital circuitry 1112 coupled to pixel array 1108and to processor 1107. Digital circuitry 1112 comprises digital controlcircuitry that directly controls the operation of pixel array 1108,since digital circuitry 1112 is able to operate faster than processor1107.

Image sensor 1106 comprises a memory 1114 coupled to processor 1107.Firmware 1116 of processor 1107 may be stored in memory 1114. Memory1114 comprises a buffer 1118 in which the digital output of ADC 1110 isstored.

As described herein, some implementations of image sensor 1106 may beable to output two different images, for example, a cropped image and apreview image. For at least this reason, image sensor 1106 may compriseanother buffer, illustrated in FIG. 11 as optional block 1120. All orpart of the contents of buffer 1118 may be copied to buffer 1120 so thatimage sensor 1106 is able to process the contents of buffer 1120independently of the contents of buffer 1118.

The contents of buffer 1118 and optional buffer 1120 may be operated onby firmware 1116 when executed by processor 1107, or by one or moreportions of digital circuitry 1112, or by both. For example, firmware1116 may be able to implement one or more scaling algorithms. In anotherexample, firmware 1116 may enable image sensor 1106 to implement gradualdigital zoom internally, as described herein. Digital circuitry 1112 mayhave non-control functionality implemented therein. A non-exhaustivelist of such non-control functionality includes cropping, zooming,derating, panning, conversion of color format and any combinationthereof. At least one of firmware 1116 when executed by processor 1107and digital circuitry 1112 operates on buffer 1118.

Image sensor 1106 comprises one or more control registers 1122 to affectoperation of digital circuitry 1112 and processor 1107. For example, anyprogrammable or configurable parameters of image sensor 1106, such asZoomJumpSize, sensor mode, output dimensions, preview image sharpness,and whether image sensor 1106 generates the preview image, may be storedin control registers 1122. In another example, whether image sensor 1106is to implement gradual zoom internally may be stored in controlregisters 1122.

Image sensor 1106 comprises a host interface 1124 coupled to memory 1114to output contents of buffer 1118 and optional buffer 1120 using DirectMemory Access (DMA), and coupled to the one or more control registers1122 to enable reading and writing to the one or more control registers1122. Host interface 1124 may optionally be coupled to processor 1107.

FIG. 12 is a simplified block diagram illustration of an example digitalcamera module 1210. Digital camera module 1210, which is an example ofdigital camera module 1010, may comprise components, elements, circuitryand/or modules that, for clarity, are not illustrated in FIG. 10.Digital camera module 1210 comprises an arrangement 1204 of one or moreoptical elements. A non-exhaustive list of examples for an opticalelement in arrangement 1004 of FIG. 10 or arrangement 1204 in FIG. 12includes lens, collimator, filter, and polarizer. Digital camera module1210 comprises processor 1107, pixel array 1108, ADC 1110, digitalcircuitry 1112, memory 1114, one or more control registers 1122, andhost interface 1124, all of which have been described with respect toFIG. 11. Memory 1114 comprises buffer 1118 and may optionally comprisebuffer 1120. Firmware 1116 may be stored in memory 1114. Digital cameramodule 1210 may be enclosed in a housing (not shown) such thatarrangement 1204 of one or more optical elements is exposed orexposable, for example, by opening a shutter (not shown), to radiantenergy, and such that host interface 1124 is accessible.

FIG. 13 is a simplified block diagram illustration of an example displaymodule 1314. Display module 1314, which is an example of display module1014, may comprise components, elements, circuitry and/or modules that,for clarity, are not illustrated in FIG. 13. Display module 1314comprises a processor 1307. Display module 1314 comprises a pixel array1308. Depending on the technology for pixel array 1308, the pixels maycomprise photo-emitting material, or may by controllable, as in LCDtechnology, to block light or permit the transmission of light invarying degrees. Other technologies for pixel arrays in display modulesare known in the art.

Display module 1314 comprises a digital-to-analog converter (DAC) 1310to convert digital representations of images to analog input for pixelarray 1308 to digital output. Display module 1314 comprises digitalcircuitry 1312 coupled to pixel array 1308 and to processor 1307.Digital circuitry 1312 directly controls the operation of pixel array1308, since digital circuitry 1312 is able to operate faster thanprocessor 1307.

Display module 1314 comprises a memory 1314 coupled to processor 1307.Firmware 1316 of processor 1307 may be stored in memory 1314. Memory1314 comprises a buffer 1318 in which the digital input to DAC 1310 isstored.

The contents of buffer 1318 may be operated on by firmware 1316 whenexecuted by processor 1307, or by one or more portions of digitalcircuitry 1312, or by both.

Display module 1314 comprises one or more control registers 1322 toaffect operation of digital circuitry 1312 and processor 1307. Forexample, whether display module 1314 is being operated in full-screenmode or in a smaller screen mode, may be stored in control registers1322.

Display module 1314 comprises a host interface 1324 coupled to memory1314 for input of the contents of buffer 1318 using DMA, and coupled toone or more control registers 1322 to enable reading and writing to theone or more control registers 1322. Host interface 1324 may optionallybe coupled to processor 1307.

Elements illustrated in FIG. 13 other than pixel array 1308 may bepackaged as a single component, known as a display controller 1326.Display module 1314 may then comprise pixel array 1308 and displaycontroller 1326.

Picture Size

A host device in which digital camera functionality is integrated mayoffer different picture size settings, for example, “Large”, “Medium”and “Small”. In an example two-megapixel digital camera, the maximumpicture size for a recordable image may be 1600 by 1200 pixels for the“Large” picture size setting, 1024 by 768 for the “Medium” picture sizesetting, and 640 by 480 for the “Small” picture size setting. The sizeof a recordable image will depend on the size of the captured image, thesize of the cropped image, and on the picture size setting selected viaa user input component of the host device. Example cropped imagedimensions provided herein have been based on the example of a “Large”picture size setting. It will be obvious to persons of ordinary skill inthe art how to modify the dimensions for other picture size settings.

While certain features of the technology have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents will now occur to those of ordinary skill in the art. It is,therefore, to be understood that the appended claims are intended tocover all such modifications and changes.

1. A host device comprising: an arrangement of one or more optical elements; an image sensor comprising a pixel array optically coupled to the arrangement of one or more optical elements, the image sensor arranged to read a captured image from the pixel array, the image sensor supporting a discrete set of zoom factors; a processor coupled to the image sensor; a memory coupled to the processor, the memory arranged to store indications of offered digital zoom levels, each of the offered digital zoom levels having cropped image dimensions corresponding thereto and corresponding to one of the zoom factors; and a user input component coupled to the processor to detect input indicative of one of the offered digital zoom levels, wherein at least three of the offered digital zoom levels form a set such that zoom factors corresponding to any pair of adjacent offered digital zoom levels in the set have an absolute difference that is equal to the absolute difference in zoom factors corresponding to any other pair of adjacent offered digital zoom levels in the set.
 2. The host device of claim 1, wherein the host device comprises a standalone digital camera.
 3. The host device of claim 1, wherein the host device comprises a mobile electronic device with digital camera functionality.
 4. The host device of claim 1, further comprising a display module coupled to the processor, the memory further comprising: a first buffer to store a recordable image which is derived from the captured image; and a second buffer to store a preview image which is derived from the captured image and is to be displayed by the display module.
 5. A host device comprising: an arrangement of one or more optical elements; an image sensor comprising a pixel array optically coupled to the arrangement of one or more optical elements, the image sensor arranged to read a captured image from the pixel array; a processor coupled to the image sensor; a memory coupled to the processor, the memory arranged to store indications of offered digital zoom levels, each of the offered digital zoom levels having cropped image dimensions corresponding thereto; and a user input component coupled to the processor to detect input indicative of one of the offered digital zoom levels, wherein at least three of the offered digital zoom levels form a set of optically uniform digital zoom levels such that, for any pair of adjacent offered digital zoom levels in the set, a ratio of cropped image dimensions corresponding to a larger zoom level in the pair to cropped image dimensions corresponding to a smaller zoom level in the pair is substantially equal to a ratio of cropped image dimensions corresponding to a larger zoom level in any other pair of adjacent offered digital zoom levels in the set to cropped image dimensions corresponding to a smaller zoom level in the other pair.
 6. The host device of claim 5, wherein the host device comprises a standalone digital camera.
 7. The host device of claim 5, wherein the host device comprises a mobile electronic device with digital camera functionality.
 8. The host device of claim 5, further comprising a display module coupled to the processor, the memory further comprising: a first buffer to store a recordable image which is derived from the captured image; and a second buffer to store a preview image which is derived from the captured image and is to be displayed by the display module.
 9. A method for digitally zooming, the method comprising: initiating a change between a start offered digital zoom level and an end offered digital zoom level that is adjacent to the start offered digital zoom level; for each of T intermediate digital zoom levels that are distributed generally evenly between the start offered digital zoom level and the end offered digital zoom level, where T is a positive integer: generating a preview image, wherein the preview image is generated from a cropped image derived from a captured image read from a pixel array of an image sensor, and dimensions of the cropped image correspond to the intermediate digital zoom level; and controlling a display module to display the generated preview image, wherein generation of a recordable image at any of the T intermediate digital zoom levels is not permitted.
 10. The host device of claim 9, wherein an absolute difference in zoom level for the start offered digital zoom level and the end offered digital zoom level, divided by T+1, is approximately equal to an absolute difference in digital zoom level for any pair of adjacent digital zoom levels in a set consisting of the start offered digital zoom level, the T intermediate digital zoom levels, and the end offered digital zoom level.
 11. A method for digitally zooming, the method comprising: initiating a change between a start offered digital zoom level and an end offered digital zoom level that is adjacent to the start offered digital zoom level; for each of T intermediate digital zoom levels between the start offered digital zoom level and the end offered digital zoom level, where T is a positive integer: generating a preview image, wherein the preview image is generated from a cropped image derived from a capture image read from a pixel array of an image sensor, and dimensions of the cropped image correspond to the intermediate digital zoom level; and controlling a display module having display dimensions to display the generated preview image, wherein the image sensor supports a discrete set of at least X+1 zoom factors, where X is a positive integer greater than or equal to two, including a start zoom factor corresponding to the start offered digital zoom level, an end zoom factor corresponding to the end offered digital zoom level, and X−1 zoom factors between the start zoom factor and the end zoom factor, wherein the X−1 zoom factors include T intermediate zoom factors distributed generally evenly between the start zoom factor and the end zoom factor, each of the T intermediate zoom factors corresponding to a respective one of the T intermediate digital zoom levels, and wherein generation of a recordable image at any of the T intermediate digital zoom levels is not permitted.
 12. The method of claim 11, wherein generating the preview image comprises: controlling the image sensor to generate the cropped image; and in the event that the dimensions of the cropped image exceed the display dimensions, scaling the cropped image to the display dimensions.
 13. The method of claim 11, wherein generating the preview image comprises: controlling the image sensor to generate the cropped image and, in the event that the dimensions of the cropped image exceed the display dimensions, to scale the cropped image to the display dimensions.
 14. The method as claimed in claim 11, wherein a subset of the set consists of the start zoom factor, the end zoom factor and the T intermediate zoom factors, and wherein a number of zoom factors in the set between the start zoom factor and an intermediate zoom factor in the subset that is closest to the start zoom factor is not less than a number of zoom factors in the set between any pair of adjacent zoom factors in the subset.
 15. The method as claimed in claim 11, wherein a subset of the set consists of the start zoom factor, the end zoom factor and the T intermediate zoom factors, and wherein a number of zoom factors in the set between the end zoom factor and an intermediate zoom factor in the subset that is closest to the end zoom factor is not less than a number of zoom factors in the set between any pair of adjacent zoom factors in the subset.
 16. A method for digitally zooming, the method comprising: receiving an indication of a requested zoom factor; determining a positive integer T of intermediate zoom factors between a current zoom factor and the requested zoom factor; in the event that the current zoom factor is less than the requested zoom factor, iterating through all of the T intermediate zoom factors by successively generating cropped images dimensions of which correspond to successively larger ones of the T intermediate zoom factors; in the event that the current zoom factor is less than the current zoom factor, iterating through all of the T intermediate zoom factors by successively generating cropped images dimensions of which correspond to successively smaller ones of the T intermediate zoom factors; and generating a cropped image dimensions of which correspond to the requested zoom factor.
 17. The method as claimed in claim 16, further comprising: receiving an indication of output dimensions; in the event that dimensions of the cropped images exceed the output dimensions, scaling the cropped images to the output dimensions; and in the event that dimensions of the cropped image exceed the output dimensions, scaling the cropped image to the output dimensions. 